package com.nuoniu.sibanyun.mapper.provider;

import com.nuoniu.sibanyun.common.lang.StringUtils;
import com.nuoniu.sibanyun.entity.dto.SysLogDto;
import org.apache.ibatis.jdbc.SQL;
import org.apache.poi.ss.formula.functions.T;

import java.util.Map;

/**
 * @auther 小啊刚
 * @date 2020/5/23
 */
public class SysLogMapperProvider {

    /**对应数据库表名**/
    private String TABLE_NAME = "sys_log";

    /**
     * 获取日志列表
     * @author 小啊刚
     * @date 2020/5/23
     */
    public String getSysLogList(SysLogDto params) {
        return new SQL() {
            {
                SELECT("*");
                FROM(TABLE_NAME);
                if(StringUtils.isNotBlank(params.getLogTitle())) {
                    WHERE("log_title like \"%\"#{params.logTitle}\"%\"");
                }
                if(StringUtils.isNotBlank(params.getRequestUri())) {
                    WHERE("request_uri = #{params.requestUri}");
                }
                if(StringUtils.isNotBlank(params.getRemoteAddr())) {
                    WHERE("remote_addr = #{params.remoteAddr}");
                }
                if(StringUtils.isNotBlank(params.getBeginDate())) {
                    WHERE("date(create_date) >= #{params.beginDate}");
                }
                if(StringUtils.isNotBlank(params.getEndDate())) {
                    WHERE("date(create_date) <= #{params.endDate}");
                }
                WHERE("company_id = #{params.companyId}");
                ORDER_BY("create_date desc");
            }
        }.toString();
    }
}
